GtkGLArea: Don't dispose gl context on unrealize
authorAlexander Larsson <alexl@redhat.com>
Mon, 3 Nov 2014 12:19:40 +0000 (13:19 +0100)
committerAlexander Larsson <alexl@redhat.com>
Mon, 3 Nov 2014 12:19:40 +0000 (13:19 +0100)
This was done to ensure the context is not current, but this is
pretty broken for shared contexts. We now just make it non-current.

gtk/gtkglarea.c

index a0392b9dce531d6b708b64ef6d379a4842eedf71..d0882b7e36d00aec928b1e704576e852ef5f179d 100644 (file)
@@ -524,7 +524,8 @@ gtk_gl_area_unrealize (GtkWidget *widget)
        }
 
       /* Make sure to destroy if current */
-      g_object_run_dispose (G_OBJECT (priv->context));
+      if (priv->context == gdk_gl_context_get_current ())
+        gdk_gl_context_clear_current ();
       g_object_unref (priv->context);
       priv->context = NULL;
     }